package com.knowledge.business.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.knowledge.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.knowledge.business.mapper.LllmSysConfigMapper;
import com.knowledge.business.domain.LllmSysConfig;
import com.knowledge.business.service.LllmISysConfigService;

/**
 * 模型配置(模型、语音识别、语音合成等)Service业务层处理
 *
 * @author zhaoyk
 * @date 2025-09-15
 */
@Service
public class LllmSysConfigServiceImpl extends ServiceImpl<LllmSysConfigMapper, LllmSysConfig> implements LllmISysConfigService {
    @Autowired
    private LllmSysConfigMapper lllmSysConfigMapper;

    /**
     * 查询模型配置(模型、语音识别、语音合成等)
     *
     * @param configId 模型配置(模型、语音识别、语音合成等)主键
     * @return 模型配置(模型 、 语音识别 、 语音合成等)
     */
    @Override
    public LllmSysConfig selectSysConfigByConfigId(String configId) {
        return lllmSysConfigMapper.selectSysConfigByConfigId(configId);
    }

    /**
     * 查询模型配置(模型、语音识别、语音合成等)列表
     *
     * @param lllmSysConfig 模型配置(模型、语音识别、语音合成等)
     * @return 模型配置(模型 、 语音识别 、 语音合成等)
     */
    @Override
    public List<LllmSysConfig> selectSysConfigList(LllmSysConfig lllmSysConfig) {
        return lllmSysConfigMapper.selectSysConfigList(lllmSysConfig);
    }

    /**
     * 新增模型配置(模型、语音识别、语音合成等)
     *
     * @param lllmSysConfig 模型配置(模型、语音识别、语音合成等)
     * @return 结果
     */
    @Override
    public int insertSysConfig(LllmSysConfig lllmSysConfig) {
        lllmSysConfig.setCreateTime(DateUtils.getNowDate());
        return lllmSysConfigMapper.insertSysConfig(lllmSysConfig);
    }

    /**
     * 修改模型配置(模型、语音识别、语音合成等)
     *
     * @param lllmSysConfig 模型配置(模型、语音识别、语音合成等)
     * @return 结果
     */
    @Override
    public int updateSysConfig(LllmSysConfig lllmSysConfig) {
        lllmSysConfig.setUpdateTime(DateUtils.getNowDate());
        return lllmSysConfigMapper.updateSysConfig(lllmSysConfig);
    }

    /**
     * 批量删除模型配置(模型、语音识别、语音合成等)
     *
     * @param configIds 需要删除的模型配置(模型、语音识别、语音合成等)主键
     * @return 结果
     */
    @Override
    public int deleteSysConfigByConfigIds(String[] configIds) {
        return lllmSysConfigMapper.deleteSysConfigByConfigIds(configIds);
    }

    /**
     * 删除模型配置(模型、语音识别、语音合成等)信息
     *
     * @param configId 模型配置(模型、语音识别、语音合成等)主键
     * @return 结果
     */
    @Override
    public int deleteSysConfigByConfigId(String configId) {
        return lllmSysConfigMapper.deleteSysConfigByConfigId(configId);
    }
}
